package com.company.woye.utils;

import android.content.Context;
import android.os.Environment;
import android.util.Log;

import java.io.File;

import static android.os.Environment.MEDIA_MOUNTED;

/**
 * 文件管理
 */
public class FileUtils {
    public static String getFilePath(Context context) {
        String directoryPath = "";
        if (MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {//判断外部存储是否可用
            directoryPath = context.getExternalFilesDir("").getAbsolutePath();
        } else {//没外部存储就使用内部存储
            directoryPath = context.getFilesDir().getAbsolutePath();
        }
        File file = new File(directoryPath);
        if (!file.exists()) {//判断文件目录是否存在
            file.mkdirs();
        }
        return directoryPath;
    }

    public static boolean delete(String delFile) {
        File file = new File(delFile);
        if (!file.exists()) {
            Log.e("delete", "Delete file Error:" + delFile + " not have！");
            return false;
        } else {
            if (file.isFile())
                return deleteSingleFile(delFile);
        }
        return false;
    }

    /**
     * 删除单个文件
     *
     * @param filePath$Name 要删除的文件的文件名
     * @return 单个文件删除成功返回true，否则返回false
     */
    private static boolean deleteSingleFile(String filePath$Name) {
        File file = new File(filePath$Name);
        // 如果文件路径所对应的文件存在，并且是一个文件，则直接删除
        if (file.exists() && file.isFile()) {
            if (file.delete()) {
                Log.e("--deleteSingleFile--", "Copy_Delete.deleteSingleFile: 删除单个文件" + filePath$Name + "成功！");
                return true;
            } else {
                Log.e("--deleteSingleFile--", "删除单个文件" + filePath$Name + "失败！");
                return false;
            }
        } else {
            Log.e("--deleteSingleFile--", "删除单个文件失败：" + filePath$Name + "不存在！");
            return false;
        }
    }

}
